this._closeButton.connect('clicked', Lang.bind(this, this._closeNotification));
this._notificationWidget.add_actor(this._closeButton);
- this._idleMonitorBecameActiveId = 0;
this._userActiveWhileNotificationShown = false;
this.idleMonitor = new GnomeDesktop.IdleMonitor();
},
_onIdleMonitorBecameActive: function() {
- this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
- this._idleMonitorBecameActiveId = 0;
-
this._userActiveWhileNotificationShown = true;
this._updateNotificationTimeout(2000);
this._updateState();
_showNotification: function() {
this._notification = this._notificationQueue.shift();
- let userIdle = this.idleMonitor.get_idletime() > IDLE_TIME;
- if (userIdle) {
- this._userActiveWhileNotificationShown = false;
- this._idleMonitorBecameActiveId = this.idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
- } else {
- this._userActiveWhileNotificationShown = true;
+ this._userActiveWhileNotificationShown = this.idleMonitor.get_idletime() > IDLE_TIME;
+ if (!this._userActiveWhileNotificationShown) {
+ // If the user isn't active, set up a watch to let us know
+ // when the user becomes active.
+ this.idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
}
this._notificationClickedId = this._notification.connect('done-displaying',
this._grabHelper.ungrab({ actor: this._notification.actor });
- if (this._idleMonitorBecameActiveId) {
- this.idleMonitor.disconnect(this._idleMonitorBecameActiveId);
- this._idleMonitorBecameActiveId = 0;
- }
if (this._notificationExpandedId) {
this._notification.disconnect(this._notificationExpandedId);
this._notificationExpandedId = 0;
_init: function() {
this._idleMonitor = new GnomeDesktop.IdleMonitor();
- this._idleMonitor.connect('became-active', Lang.bind(this, this._onIdleMonitorBecameActive));
- this._idleMonitor.add_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
+ this._idleMonitor.add_idle_watch(IDLE_TIME, Lang.bind(this, this._onIdleMonitorBecameIdle));
this._idle = this._idleMonitor.get_idletime() > IDLE_TIME;
this._watches = [];
this.pointerX = null;
_onIdleMonitorBecameIdle: function(monitor) {
this._idle = true;
+ this._idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
this._updateTimeout();
},
if (this._activationTime == 0)
this._activationTime = GLib.get_monotonic_time();
- if (this._becameActiveId == 0)
- this._becameActiveId = this.idleMonitor.connect('became-active',
- Lang.bind(this, this._onUserBecameActive));
+ this._becameActiveId = this.idleMonitor.add_user_active_watch(this._onUserBecameActive);
let shouldLock = this._settings.get_boolean(LOCK_ENABLED_KEY) && !this._isLocked;
// session is effectivelly locked now, it's time to build and show
// the lock screen
- this.idleMonitor.disconnect(this._becameActiveId);
+ this.idleMonitor.remove_watch(this._becameActiveId);
this._becameActiveId = 0;
let lightboxWasShown = this._lightbox.shown;
this.actor.hide();
if (this._becameActiveId != 0) {
- this.idleMonitor.disconnect(this._becameActiveId);
+ this.idleMonitor.remove_watch(this._becameActiveId);
this._becameActiveId = 0;
}